Automated cassette library system

ABSTRACT

A system for controlling an automated video cassette library apparatus is provided which is actuated in response to command signals originated by an individual at a location remote from such apparatus to transfer a select video cassette in a horizontal plane from a cassette shelf to a cassette player each of which is located in a compact housing. The apparatus is then ready for use by another individual who may select another video cassette for playing upon another video player each of which is located in the same housing. The cassette player plays the video cassette and communicates the recorded program to the individual&#39;s television set. Upon completion of each play, the video cassette is rewound and automatically transferred from the cassette player to the cassette shelf.

RELATED APPLICATION

U.S. Ser. No. 07/981,534, entitled "Automated Cassette Library Apparatus" naming Thomas R. Beal, Dennis W. Chalmers, and Eric C. W. Lin, as applicants and GTE Vantage Incorporated as assignee and U.S. Ser. No. 981,533, entitled "Apparatus For Controlling An Automated Cassette Library" naming Dennis, W. Chalmers, Ole F. Kristensen, and Eric C. W. Lin, as applicants and GTE Vantage Incorporated as assignee, each filed simultaneously with this application, pertain to different features of the system for controlling an automated cassette library described herein, and are hereby incorporated by reference. In particular, said applications pertain to various structural and control features of the system described herein.

BACKGROUND OF THE INVENTION

It is presently known to provide paid television entertainment stored upon video cassette tapes to television sets located in guest rooms in hotels and motels. In prior art systems it has been possible for a guest to originate a recorded program from various sources such as a hotel or motel using a microwave link to a hotel or motel or a video tape player located directly in the hotel or motel. The present invention is directed to a system for controlling an automated cassette library apparatus located at the source. Such a cassette library contains a plurality of video cassettes having varying titles from which an individual can select as desired from his hotel or motel room. Upon selection the apparatus automatically retrieves the selected cassette and inserts it into a video cassette player. The program is then communicated to the guest's television set in the guest's room. The manner of ordering a recorded program and relaying such program to the desired television does not form part of the present invention and is therefore not described in any greater detail herein. The present invention is directed to the system for controlling the apparatus which responds to command signals originating at a remote location such as a guest's hotel or motel room and physically transfers the selected video cassette from a plurality of video cassettes which constitute the video cassette library to a select video cassette player for playing. Such transfer includes the use of a cassette transport unit having a cassette carrying cavity therein and including means for transferring a cassette in a first direction, relative to the cassette carrying cavity, to and from a cassette shelf, and in a second direction, relative to the cassette carrying cavity, to and from a cassette player, the second direction being perpendicular to the first direction, and for transporting the cassette transport unit vertically and horizontally relative to cassette storage shelves and cassette players.

It is known to provide apparatus useful in storing and retrieving objects upon demand using apparatus which travels in X, Y and Z directions. Examples of such apparatus are described in U.S. Pat. Nos. 3,536,194, 3,750,804 and 4,595,332.

The apparatus described in U.S. Pat. No. 3,536,194 relates to a document retrieval and handling system wherein each of a plurality of storage compartments includes a cartridge, holding up to 100 randomly arranged cards, and a cartridge transporting device. The transporting device includes a complicated cable arrangement for driving the device in X, Y and Z directions.

U.S. Pat. No. 3,750,804 relates to a complex and bulky warehousing system including a storage rack and a stacker crane movable relative to the rack for depositing and removing loads therefrom.

U.S. Pat. No. 4,595,332 relates to a stacker-retriever lift carriage which includes a telescoping shuttle including a shuttle base, middle table and top table disposed one atop the other and for bi-directional movement relative to each other. Such shuttle allows for movement of the top table at twice the relative distance of the middle table and in a corresponding direction thereto.

In all of the foregoing patents, automatic movement of the object being transferred relative to the transferring unit which retains the object during movement thereof from one location to another, is in a single axial direction. In other words, the transferring unit retrieves the object along a particular axis and delivers the object along the same axis.

It is also known to provide apparatus useful in storing and retrieving video cassettes upon demand using apparatus which may travel in X, Y and Z directions. Examples of such apparatus are described in U.S. Pat. Nos. 4,563,120, 4,734,005 and 4,867,628. However, in each of the foregoing patents the automatic movement of the video cassette relative to the transferring unit which retains the video cassette during movement thereof for dispensing or storing is in a single axial direction, the video cassette generally travelling in the same axial direction relative to the transferring unit from the beginning to the end of the retrieval or storage cycles. For example, in U.S. Pat. No. 4,734,005, a video cassette is moved into and out of a transport unit relative to a storage bin and relative to a customer delivery base plate in the same general direction.

A similar confinement is provided for in U.S. Pat. No. 4,867,628. In this patent apparatus is described for dispensing a video cassette from, and for inserting a video cassette into, a plurality of individual trays of a bank of trays. To this end a moveable housing is provided. Such housing also serves to transfer a video cassette to and from a receiver tray. Movement of the video cassette relative to such moveable housing is along the same axis whether such movement is to or from the bank of trays or receiver tray. In addition, the apparatus described in this patent is a gravity feed system wherein the individual trays, moveable housing and receiver tray are each angulated (inclined) such that gravity feed may be utilized.

U.S. Pat. No. 4,563,120 is of similar interest in that a carriage is provided for retrieving and storing a video cassette relative to storage supports which are angulated such that gravity feed may be utilized. In addition, in this patent movement of the video cassette relative to such carriage will be in the same axial direction from the beginning to the end of the retrieval and storage cycles.

The use of a moveable housing which moves a video cassette relative to a plurality of video cassette shelves and a plurality of video cassette players is known in the art. In such apparatus, the moveable housing includes means for causing a video cassette which is stored upon an angulated shelf to be fed into the moveable housing under the influence of gravity and in a particular direction relative to the moveable housing. The moveable housing is then moved in an X and Y direction, as required, into alignment with a select video player, and the video cassette is then pushed therein in the same general direction relative to the moveable housing. The moveable housing includes means for also causing the video cassette to be fed in the same general direction from the cassette player back into the moveable housing under the influence of gravity upon completion of the playing of the video cassette. To this end, the video cassette player is also angulated. The moveable housing is then again moved in an X and Y direction, as required, into alignment with a video cassette shelf and the video cassette is pushed therein in the same general direction relative to the moveable housing.

It will be apparent to those skilled in the art that a plurality of video cassette shelves and a plurality of video cassette players which are oriented at an angle will take up a considerable amount of space. It will also be apparent that a transporting unit which houses a video cassette being transferred between a shelf and a cassette player in which movement of the video cassette to and from such transporting unit is in the same general direction or along the same axis from the beginning to the end of the retrieval and storage cycles will provide a limited number of paths along which a video cassette can be moved.

It is an object of this invention to provide a system for controlling an automated video cassette library apparatus including a cassette transport unit having a cassette carrying cavity therein and including means for transferring a cassette in a first direction and in a second direction relative to the cassette carrying cavity, the second direction being perpendicular to the first direction.

Yet another object is to provide such a system which includes a cassette transport unit for positively transferring a select video cassette to and from any one of a plurality of vertically stacked and horizontally disposed video cassette shelves and video cassette players adjacent thereto without relying upon gravity feed.

Another object is to provide such a system which will provide a large quantity of video cassettes and a substantially smaller quantity of video cassette players.

A further object is to provide such a system which will provide a plurality of various programs and a plurality of video cassettes for each program and a smaller plurality of video cassette players any one of which is capable of playing any of the video cassettes.

Another object is to provide such a system which is compact.

Yet a further object is to provide such a system which includes a cassette transport unit for positively gripping a select video cassette to remove such cassette from a select video cassette player, such unit further serving to push a select video cassette into a select video cassette player.

Another object is to provide such a system which is modular.

A further object is to provide such a system including a compact housing and a modular video cassette storage cartridge which contains a plurality of video cassettes and may readily be inserted into and removed from such housing and accessed by a cassette transport unit for transferring video cassettes to and from such storage cartridge.

Yet another object is to provide such a system which includes a cassette transport unit for quickly transferring a select video cassette from a video cassette shelf to another video cassette shelf or to a video cassette player and from a video cassette player to another video cassette player or to a video cassette shelf.

Another object is to provide such a system including modular electronic components which may be replaced without undue inconvenience.

A further object is to provide such a system which monitors the presence of a video signal at one or more select cassette players.

Yet a further object is to provide such a system which allows for the remote control of such automated video cassette library apparatus.

Another object is to provide such a system which includes means for remotely homing the components used to transport a cassette from one location to another within the automated video cassette library apparatus.

A further object is to provide such a system which includes means for sensing the presence of a cassette within a cassette transport unit.

Still another object is to provide such a system which identifies the presence or absence, and location, of a particular cassette within the automated video cassette library apparatus.

Yet another object is to provide such a system which allows for automatic actuation of standard cassette players which do not require modification.

SUMMARY OF THE INVENTION

This invention achieves these and other results by providing a system for controlling an automated cassette library comprising at least one housing and a host computer means which communicates with each housing for controlling each housing. Each housing comprises a plurality of cassette shelves and a plurality of cassette players horizontally disposed therein. A cassette transport unit is also disposed horizontally within the housing, the cassette transport unit having a cassette carrying cavity therein. Such unit includes first means disposed in the cassette carrying cavity for selectively transferring a cassette in the direction of a first axis from a cassette shelf into the cassette carrying cavity in a first mode and from the cassette carrying cavity to a cassette shelf in a second mode, and second means disposed in the cassette carrying cavity for selectively transferring a cassette in the direction of a second axis which is perpendicular to the first axis from the cassette carrying cavity to a cassette player in a third mode and from a cassette player into the cassette carrying cavity in a fourth mode. Third means is disposed in the housing for selectively transporting the cassette transport unit in the direction of a third axis which is perpendicular to the first axis and the second axis. Fourth means is disposed in the housing for selectively transporting the cassette transport unit in the direction of the second axis. A motion controller means is electrically connected to the first, second, third and fourth means for controlling actuation of the first, second, third and fourth means in response to command signals. A video player controller means is provided for controlling each cassette player in response to command signals. A cabinet controller means is electrically connected to the motion controller means and to the video player means for sending and receiving signals, including the sending of the command signals to the motion controller means and the video player controller means, respectively, in response to receipt of command signals from the host computer means. A method for controlling such system is also provided.

BRIEF DESCRIPTION OF THE DRAWINGS

This invention may be clearly understood by reference to the attached drawings in which:

FIG. 1 is a perspective view of an automated cassette library apparatus embodying the present invention;

FIG. 2 is a partial perspective view of one embodiment of a cassette transport unit of the present invention viewing such unit from the rear and the bottom thereof;

FIG. 3 is a plan view partially depicting a cassette carrying cavity of said cassette transport unit with the bottom removed therefrom;

FIG. 4 is an inverted end view taken along the line 4--4 of FIG. 3;

FIG. 5 is a partial perspective view of the cassette transport unit of FIG. 2 viewing such unit from the front and the top thereof;

FIG. 6 is a diagrammatic plan view of one embodiment of a mast, tracks and carriage of the present invention;

FIG. 7 is a partial perspective view of one embodiment of the mast and tracks of the present invention;

FIGS. 8A and 8B diagrammatically depict a video cassette being transferred from a cassette shelf to a cassette transport unit;

FIGS. 9A to 9E diagrammatically depict a video cassette being transferred to and from a cassette transport unit relative to a cassette player;

FIG. 10A and 10B is a block diagram of one embodiment of an automated cassette library embodying the present invention;

FIGS. 11A and 11B diagrammatically depict a home limit switch flag and corresponding optical sensor of one embodiment of the present invention;

FIG. 12 is a block diagram of one embodiment representing actuation of a cassette player and the sensing of a video signal at a cassette player; and

FIG. 13 is a block diagram of an embodiment of the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENT

The embodiment of this invention which is illustrated in the drawings is particularly suited for achieving the objects of this invention. FIG. 13 depicts an overall view of an automated cassette library system of the present invention. The embodiment described herein is particularly useful for use with video cassettes although it is equally useful with other types of cassettes such as, for example, audio cassettes. FIG. 13 depicts a host or central computer means 340 which is capable of controlling remote cassette library cabinets 2 by means of a respective control means 44 located at each cabinet. In the preferred embodiment, three video library cabinets 2 are provided, each having sixteen cassette players and ninety nine cassettes as described herein. Individual cassette titles may be any number of duplicates and may vary from cabinet to cabinet. Each respective control means 44 directs all actions and cassette movements which occur within the cabinet in which the control means is housed. Communications for action by a particular cabinet 2 originate as a command from the host computer means 340. Each control means 44 originates status reports to the host computer means 340 and all commands from the host computer means is acknowledged by the control means.

The overall control program for the system resides in the host computer means 340 which is suitably programmed to know the status of each cassette player in each cabinet 2, including which cassette is being played by which cassette player and the estimated completion time. The host computer means 340 maintains a title usage log, and the cassette player and cassette selection is based upon equalizing the use of the cassette players and copies of the same title. The control software is designed to run on a PC DOS system and be modular so that some modules may be added or changed as the hardware changes.

Software to control actions within the cabinet resides in each control means, cabinet control software being the same for all cabinets. Communications with each control means is via a standard RS232 cable over individual serial ports of the host computer means 340 and control means 44. Host computer means 340 includes whatever subprograms are required to interface with the customer demand so that the control program will provide the required control functions. For example, host computer means 340 is programmed to provide the following control functions;

1. Maintain a title and cassette location and usage database.

2. Maintain a cassette player status and usage database.

3. Select the cassette copy and cassette player for a play.

4. Communicate with all of the control means 44.

5. Pass on any PLAY, STOP, PAUSE, REWIND, EJECT, OFF and ON commands to the control 44.

6. Handle new tape loading.

7. Command all cassette movements and cassette player actions.

8. Handle any communications with any other software which may be provided.

All commands received by each control means 44 are acknowledged to the host computer means 340. The control means 44 provides the following functions;

1. Communication with the host computer means 340.

2. Control of the video cassette players 32.

3. Control of cassette pickup and movement.

4. Feedback of status to the host computer means 340.

5. Verifying selected cassette titles via a bar code reader 314.

In considering the details of the preferred embodiment, housing 2 is provided including vertical frame members 4, upper horizontal frame members 6, and lower horizontal frame members 8. Attached to such frame members are side panels 10, a rear panel 12, base panel 14 and a top 16. A framed front access panel 18 is attached to a vertical frame member 4 by means of hinges 20. The housing 2 provides an enclosure of metal or other material which is suitable for shielding RF frequencies.

Referring to FIG. 1, a plurality of cassette shelves 22 is horizontally disposed within the housing 2, each shelf being parallel to the base panel 14. Each shelf 22 is formed by opposing angle members 24 and 26 which are attached to opposing supports 28 as depicted in the drawing. Such supports 28 are attached to the frame of the housing 2 in any known manner. Each shelf 22 is dimensioned to receive a video cassette C, the front 30 of each shelf being open for easy access to a respective video cassette C as described herein. In the preferred embodiment there are a total of ninety nine video cassette shelves which are stacked vertically one above the other in two columns within housing 2 as depicted in FIG. 1. The front 30 of each shelf 22 faces an opposite side panel 10. Typically, an individual video cassette will be provided in each shelf 22 with the exception of a buffer shelf 22' described herein. Individual cassette titles may include any number of duplicates, as desired.

A plurality of video cassette players 32 is also disposed within housing 2. As depicted in FIG. 1, each video cassette player 32 rests upon a respective shelf (not shown) which is attached to vertical supports 34 which are attached to housing 2 in any known manner. In the preferred embodiment there are sixteen individual video cassette players which are stacked vertically within housing 2 one above the other as depicted in FIG. 1. Each video cassette player 32 is disposed horizontally relative to the base panel 14, and the access opening 36 of each video cassette player faces the front of the housing. Each video cassette player 32 is non-invasive and requires no internal changes. Operation of each video cassette player 32 is in response to command signals as described herein.

Means is provided horizontally disposed within housing 2 and moveable relative to the video cassette shelves and video cassette players for transferring a select video cassette C from a particular video cassette shelf to another particular video cassette shelf or to a particular video cassette player, or from a particular video cassette player to another particular video cassette player or a particular video cassette shelf. In the preferred embodiment such means comprises a cassette transport unit 38 which is mounted upon a mast 40 for vertical movement within housing 2 relative to the video cassette shelves and video cassette players. Cassette transport unit 38 is parallel to base panel 14. Power and control signals are provided to cassette transport unit 38 by means of a flexible wiring harness 42 which extends from the cassette transport unit 38 to the control means 44 diagrammatically depicted in FIG. 1 at the top of the housing 2. As described in greater detail herein, control means 44 includes conductor 44' including a conductor electrically connecting the control means to a source of power, a plurality of conductors electrically connecting the control means to a plurality of remote locations such as to television sets in rooms of a hotel, and a conductor electrically connecting the control means to a central or host computer means. In the preferred embodiment, electrical power will be 120 VAC, single phase, 60 Hz with a maximum of 15 amps for each housing. Each housing will be provided with a standard grounded plug, not shown. Control means 44 is preferably mounted within housing 2 in a location convenient for access or maintenance.

With reference to FIG. 2, the cassette transport unit 38 includes a cassette carrying cavity 46. Access to cavity 46 from a video cassette shelf 22 is provided at side access opening 48. Similarly, access to cavity 46 from a video cassette player 32 is provided at rear access opening 50. A first means is provided disposed in the cassette carrying cavity 46 and moveable in the direction of a first axis 52 for selectively transferring a cassette C from a video cassette shelf 22 into the cassette carrying cavity 46 in a first mode and from the cassette carrying cavity 46 to a video cassette shelf 22 in a second mode. In the preferred embodiment such means includes a plate 54, bi-directional motor 56, pulleys 58 and 60 and endless belt 62. Plate 54 has a longitudinal axis which extends in the direction of axis 52 as depicted in FIG. 2. Plate 54 is movably mounted to the cassette transport unit 38 and may be reciprocated into and out of cassette carrying cavity 46. In particular, the bottom 64 of the cassette transport unit 38 includes base portions 66 and 68 which provide edges 70 and 72, respectively. One end 74 of the plate 54 includes a slide member 76 which includes grooves 78 and 80 at opposite edges thereof. Grooves 78 and 80 mate with edges 70 and 72, respectively, such that plate 54 is free to move in the direction of arrow 82 in the first mode and in the direction of arrow 84 in the second mode as the slide member 76 slides upon the edges 70 and 72.

Bi-directional motor 56 is mounted upon cassette transport unit 38 at flange 86. Pulley 58 is operatively coupled to motor 56. In particular, pulley 58 is attached to an output shaft (not shown) of motor 56 in a known manner such that energization of the motor as described herein causes the output shaft and pulley attached thereto to rotate in one direction or the other depending upon the directional mode of the motor. The other pulley 60 is rotatably mounted to the cassette transport unit 38 at pulley mounting member 88. Pulleys 58 and 60 are spaced from each other along a line which extends in the direction of axis 52 as depicted in FIG. 2. Endless belt 62 is operatively coupled to pulleys 58 and 60 and is attached at 90 to the slide member 76 of plate 54. In the preferred embodiment, the bi-directional motor 56 is a servo motor and the endless belt 62 is a timing belt mounted upon timing belt pulleys 58 and 60. For example, in the preferred embodiment motor 56 includes a servo motor 92, a gear box 94 having a gear ratio of 40 to 1, and a magnetic pulse-type sixteen line encoder 96 having 64 counts per revolution.

A second means is provided disposed in cassette carrying cavity 46 and moveable in the direction of a second axis 98, which is perpendicular to axis 52, for selectively transferring a cassette C from the cassette carrying cavity 46 to a video cassette player 32 in a third mode and from a video cassette player 32 to the cassette carrying cavity 46 in a fourth mode. In the preferred embodiment, such means comprises a pair of gripping arms described herein (not shown in FIG. 2) which are urged against a side of a video cassette C to push it out of the cassette carrying cavity in the third mode and which grip a video cassette C ejected by a video cassette player to pull the cassette into the cassette carrying cavity in the fourth mode. When in the fourth mode, such gripping arms may be provided to grip the edges of a cassette to hold the cassette therebetween. Alternatively, and in the preferred embodiment, such gripping arms may be provided to grip the top and bottom of a cassette to hold the cassette therebetween.

The preferred embodiment of the second means is depicted in FIGS. 2 and 3. In particular, a guide member 100 is disposed within the cassette carrying cavity 46 extending in the direction of axis 98 from the front 102 to the rear 104 of the cassette transport unit 38. Guide member 100 includes a pair of parallel bars 106 and 108 which are spaced at 110 and have opposite ends attached to the front 102 and rear 104 of the cassette transport unit 38 as depicted in the drawings. A slidable track 112 extends in the direction of axis 52 and includes means which mates with guide member 100 for controlling the direction of movement of the track 112 from one end 114 of guide member 100, as partially shown in phantom lines in FIG. 3, to an opposite end 116 of guide member 100, as shown in solid lines in FIG. 3. In the preferred embodiment such controlling means includes a protuberance 118 which extends from the track 112 into the space 110 between bars 106 and 108. Means is movably mounted to track 112 for abutting a cassette C in the third mode of operation and for gripping a cassette C in the fourth mode of operation. In the embodiment of FIG. 3 such abutting and gripping means includes a first gripping arm 120 which is movably mounted to a first end 122 of the track 112 and disposed relative to the cassette transport unit 38 for engaging one surface of a cassette C in the fourth or gripping mode of operations, and a second gripping arm 124 movably mounted to an opposite second end 126 of the track 112 and disposed relative to the cassette transport unit for engaging an opposite surface of the cassette in the fourth or gripping mode of operation. Each gripping arm 120 and 124 is movably mounted to track 112 by means of screws 128 which extend through a respective backing member 130, and a respective slot 132 in track 112, into a respective gripping arm 120 and 124, as depicted in FIGS. 3 and 4. The first gripping arm 120 is spring biased towards the second gripping arm 124 and to this end a spring 134 is attached to ends 136 and 138 of gripping arms 120 and 124, respectively.

Means is also provided which is mounted to the cassette transport unit 38 and to the track 112 for moving track 112 relative to guide means 100 in the third mode of operation and for moving track 112 relative to guide means 100 and also actuating the abutting and gripping means described herein in the fourth mode of operation. In particular, a pulley 140 is provided which is attached to an axle 142, the axle being rotatably mounted to the cassette transport unit 38 in any known manner. A pulley 144 is attached to an axle 146, the axle being rotatably mounted to the cassette transport unit in any known manner. Pulley 140 is spaced from pulley 146 along a line which extends in the direction of axis 52 as depicted in FIG. 3. Pulley 140 and pulley 144 are operatively coupled together for rotation in opposite rotational directions. For example, in viewing FIG. 3, a band 148 crosses itself as it extends from one pulley to the other such that rotation of pulley 140 in the direction of arrow 150 will cause rotation of pulley 144 in the direction of arrow 152, and rotation of pulley 140 in the direction of arrow 154 will cause rotation of pulley 144 in the direction of arrow 156. A crank arm 158 is attached to pulley 140 by screws 160, and a crank arm 162 is attached to pulley 144 by screws 164. A first abutment member 166 is slidable mounted to end 122 of track 112 and is pivotally coupled to crank arm 158. Similarly, a second abutment member 168 is movably mounted to end 126 of track 112 and is pivotally coupled to crank arm 162. In the preferred embodiment depicted in FIG. 4, in order to movably mount each abutment member 166, 168 to track 112, a tongue and groove-type coupling 170 is provided wherein each end of track 112 is provided with a groove 172 (only one end is shown in FIG. 4) and each abutment member 166, 168 (only abutment 168 is depicted in FIG. 4) is provided with a dovetail-shaped tongue 174 such that each abutment member is free to slide within a groove 172. Each abutment member 166, 168 is pivotally connected to a respective crank arm by means of a pivot pin 175. Means is provided for bi-directionally rotating the pulley 140. In the preferred embodiment, such means includes a bi-directional motor 176 mounted to the cassette transport unit 38 at flange 178. A pulley 180 is operatively coupled to bi-directional motor 176. In particular, pulley 180 is attached to an output shaft (not shown) of motor 180 in a known manner such that energization of the motor as described herein causes the output shaft and pulley attached thereto to rotate in one direction or the other depending upon the directional mode of the motor. Another pulley 182 is attached to axle 142 which extends through the top surface 184 of the cassette transport unit 38. Pulleys 180 and 182 are spaced from each other along a line which extends in the direction of axis 98 as depicted in FIG. 3. The pulleys 180 and 182 are operatively coupled together by a belt 186. In the preferred embodiment bi-directional motor 176 is a servo motor similar to bi-directional motor 56 with the exception that the gear ratio of motor 176 is 60 to 1. In the preferred embodiment, belt 186 is a timing belt mounted upon timing belt pulleys 180 and 182.

In the preferred embodiment, the gripping arm 120 includes a finger 188 positioned relative to end 122 of track 112 for engagement by abutment member 166 when track 112 approaches an end 116 of track 100 as described herein. Similarly, gripping arm 124 includes a finger 190 positioned relative to end 126 of track 112 for engagement by abutment member 168 when track 112 approaches end 116 of track 100 as described herein.

Referring to FIGS. 1 and 6, in the preferred embodiment the mast 40 includes tracks 192, 192' which extend in the direction of an axis 194 which is perpendicular to axes 52 and 98. Means is provided which is movably mounted upon tracks 192, 192' and attached to the cassette transport unit 38 for transporting the cassette transport unit relative to the video cassette shelves and the video cassette players in the direction of axis 194. To this end, and referring to FIGS. 1, 5 and 6, a carriage 196 is provided which is movably mounted to tracks 192, 192' and is attached to the cassette transport unit 38. In particular, carriage 196 includes a base plate 198 having end flanges 200 and 202 which extend from one surface 204 and intermediate flanges 206 and 208 which extend from an opposite surface 210. A pair of rods 212 and 214 extend between flanges 200 and 202. Pairs of rollers 216, 218 and 220, 222 are mounted upon supporting members 224 and 226, respectively, which are attached to flanges 206 and 208, respectively. Rollers 216, 218 engage portions 228 and 230, respectively, of track 192 and rollers 220, 222 engage portions 232 and 234, respectively, of track 192'. In this manner, the cassette transport unit 38 can be caused to move along tracks 192, 192' relative to the video cassette shelves and video cassette players in the direction of axis 194 as described herein.

Referring to FIGS. 1 and 7, a bi-directional motor 236 is mounted near the upper end of mast 40 by a flange (not shown). A pulley 238 is operatively coupled to motor 236. In particular, pulley 238 is attached to an output shaft (not shown) of motor 236 in a known manner such that energization of the motor as described herein will cause the output shaft and pulley 238 attached thereto to rotate in one direction or the other depending upon the mode of operation of the motor. Two other pulleys 240 and 240' are attached to opposite ends of an axle 242, which is rotatably mounted near the upper end of mast 40 in a known manner. Another pulley 244 is also rotatably mounted near the lower end of mast 40. Pulleys 238 and 240 are spaced from each other as depicted in FIG. 7 and are operatively coupled together by a belt 246. Pulleys 240' and 244 are spaced from each other along a line which extends in the direction of axis 194 and are operatively coupled together by a belt 248 which is attached to the base plate 198 of carriage 196 by bolts 250 and nuts 252 as depicted in FIG. 6. In the preferred embodiment bi-directional motor 236 is a servo motor similar to bi-directional motor 56, with the exception that motor 236 embodies an optical encoder having 2000 counts per revolution. Belts 246 and 248 are timing belts and pulleys 238, 240, 240', and 244 are timing belt pulleys.

In the preferred embodiment the cassette transport unit 38 is movably mounted relative to the carriage 196. In particular, flanges 254 and 256 extend from the cassette transport unit 38 as depicted in FIG. 5. Bores extend through flanges 254 and 256, respectively. Rod 212 extends through bores 258 and 260 and rod 214 extends through similar bores (not shown). In this manner, the cassette transport unit 38 can be caused to move along rods 212 and 214 in the direction of axis 98 towards and away from video cassette players 32 as described herein. Means is attached to carriage 196 for moving the cassette transport unit 38 in the direction of axis 98. In particular, a bi-directional motor 262 is mounted to the base plate 198 at flange 264. A pulley 266 is rotatably mounted to base plate 198. Another pulley 268 is operatively coupled to the bi-directional motor 262. In particular, pulley 268 is attached to an output shaft 270 of motor 262 in a known manner such that energization of the motor as described herein will cause the output shaft and pulley attached thereto to rotate in one direction or the other depending upon the mode of operation of the motor. Pulleys 266 and 268 are spaced from each other along a line which extends in the direction of axis 98. An endless belt 272 is operatively coupled between pulleys 266 and 268 and is attached by bolt 274 to flange 254 as depicted in FIG. 5. In the preferred embodiment, bi-directional motor 262 is a servo motor identical to servo motor 56, and belt 272 is a timing belt mounted upon timing belt pulleys 266 and 268.

In describing the operation of the automated video cassette library, each of the motors is connected to a source of power and to control apparatus as described herein. With the foregoing in mind, the automated video cassette library will first be described in a manner of operation wherein it is desired to move a video cassette from a select video cassette shelf to a select video cassette player. It will be understood that each remote video cassette library 2 in a system which includes a plurality of video cassette libraries 2 as depicted, for example, in FIG. 13, will operate in the same manner as described herein.

With reference to FIGS. 1, 6 and 7, upon receipt by host computer 340 of a customer demand to view a particular video cassette, command signals are sent by control means 44 as described herein to energize servo motor 236 and rotate pulley 238 in a direction which depends upon whether it is necessary to raise or lower the cassette transport unit 38 to reach the level of the desired video cassette. Assuming it is necessary to lower unit 38, pulley 238 will be rotated in a clockwise direction when viewing FIG. 7. Pulley 238 will be rotated in a counterclockwise direction when it is necessary to raise unit 38. Assuming by way of example the lowering of unit 38, such clockwise rotation of pulley 238 will cause clockwise rotation of pulley 240, which is operatively coupled to pulley 238 by belt 246, and clockwise rotation of pulley 240', pulleys 240 and 240' being attached to common axle 242. Clockwise rotation of pulley 240' will cause clockwise rotation of belt 248 which extends between pulleys 240' and 244. Since belt 248 is attached to carriage 196 as described herein, clockwise rotation of belt 248 will lower carriage 196 and cassette transport unit 38 attached thereto in the direction of arrow 276 to the required level adjacent the select video cassette shelf 22.

With reference to FIG. 2, and assuming that a video cassette C is to be retrieved from the vertical column of shelves 22 nearest the front of the housing, command signals are also sent by control means 44 as described herein to energize servo motor 56 and rotate pulley 58 in a counter clockwise direction. Since plate 54 is attached to belt 62 at 90, such rotation of pulley 58 will cause plate 54 to move in the direction of arrow 84. The desired vertical positioning of cassette transport unit 38 having been reached, plate 54 will enter the select video cassette shelf 22 supporting the desired video cassette C at its front 30 and move under the video cassette C housed in such video cassette shelf. In particular, and with reference to FIGS. 8A and 8B, plate 54 is depicted, relative to cassette carrying cavity 46, in a fully retracted position P1, a partially extended position P2 and a fully extended position P3. Plate 54 will move in the direction of arrow 84 and into the particular shelf 22 (not shown) under a video cassette C as depicted at P2 in FIG. 8A. When plate 54 is completely under cassette C such that the flange 54' is beyond edge C', pulley 238 will be rotated by servo motor 236 in a counterclockwise direction to rotate belt 246 in a counterclockwise direction to raise carriage 196 and cassette transit unit 38 attached thereto in the direction of arrow 278 until the edge C' of the video cassette furthest from the front 30 of the shelf 22 is engaged by flange 54' of plate 54 as depicted at P3 in FIG. 8B. Under the command of control means 44, servo motor 56 will then rotate pulley 58 in a clockwise direction which will cause plate 54 to move in the direction of arrow 82, the flange 54' serving to pull the select video cassette C in the direction of arrow 82 and into the cassette carrying cavity 46 of the cassette transport unit 38.

If it is required to retrieve a video cassette C from the vertical column of shelves 22 furthest from the front of the housing, when the desired vertical positioning of cassette transport unit 38 has been reached, command signals are sent by control means 44 to move the cassette transport unit 38 in the direction of arrow 280. In particular, and with reference to FIG. 5, command signals energize motor 262 and rotate pulley 268 in a counterclockwise direction. Such counterclockwise rotation of pulley 268 will cause belt 272 to rotate in a counterclockwise direction. Since belt 272 is attached to the cassette transport unit 38 at 274, counterclockwise rotation of belt 272 will cause cassette transport unit 38 to slide along rods 212 and 214 in the direction of arrow 280 until the cassette transport unit 38 is in position next to the column of shelves furthest from the front of the housing. When in such position, command signals are sent by control means 44 to energize servo motor 56 to cause reciprocation of plate 54 as described above to retrieve the desired video cassette C.

When the video cassette C is disposed within the cassette carrying cavity 46, and with reference to FIGS. 1, 6 and 7, command signals are also sent by control means 44 to raise or lower the cassette transport unit 38, if necessary, to a select video cassette player 32. Assuming that the cassette transport unit 38 must be raised, command signals again energize servo motor 236 and rotate pulley 238 in a counterclockwise direction when viewing FIG. 7. Such counterclockwise rotation of pulley 238 will cause counterclockwise rotation of pulleys 240 and 240' causing belt 248 to be rotated in a counterclockwise direction. Since belt 248 is attached to carriage 196, counterclockwise rotation of belt 248 will raise carriage 196 and cassette transport unit 38 attached thereto in the direction of arrow 278 to the required level adjacent the select video cassette player 32.

With reference to FIG. 5, command signals are also sent by control means 44 to move the cassette transport unit 38 towards the select video cassette player 32. To this end, command signals energize motor 262 and rotate pulley 268 in a counterclockwise direction. Such counter clockwise rotation of pulley 268 will cause belt 272 to rotate in a counterclockwise direction. Since belt 272 is attached to the cassette transport unit 38 at 274, counterclockwise rotation of belt 272 will cause cassette transport unit 38 to slide along rods 212 and 214 in the direction of arrow 280 towards the select video cassette player 32.

With reference to FIGS. 3, 9A and 9B, command signals are also sent by control means 44 to move the video cassette C from the cassette carrying cavity 46 and into the select video cassette player 32. When the video cassette C is disposed within the cassette carrying cavity 46, the track 112 will be positioned at end 114 of guide member 100 as partially depicted in phantom lines in FIG. 3 and as diagrammatically depicted in FIG. 9A. Command signals are sent by control means 44 to energize servo motor 176 and rotate pulley 180 in a clockwise direction when viewing FIG. 3. Since pulley 180 is operationally coupled to pulley 182 by belt 186, such rotation of pulley 180 will cause pulley 182 to also rotate in a clockwise direction. Since pulley 182 and pulley 140 are attached to a common axle 142, such rotation of pulley 182 will cause pulley 140 and crank arm 158 attached thereto to rotate in the direction of arrow 154. Pulley 144 and crank arm 162 attached thereto will be rotated in the direction of arrow 156 since pulleys 140 and 144 are operationally coupled by band 148 as described herein. Such rotation of crank arm 158 in the direction of arrow 154 and of crank arm 162 in the direction of arrow 156 will cause track 112, which is coupled by means of abutment members 166, 168 to arms 158 and 162 at pins 174, to slide in the direction of arrow 280 from end 114 of guide member 100 to end 116 to the position shown in solid lines in FIG. 3 and diagrammatically in FIG. 9B. The cassette transport unit 38 will be distanced from an access opening 36 of a video cassette player 32 such that such movement of track 112 will cause gripping arms 120 and 124 to push the video cassette C in the direction of arrow 280 out of the cassette carrying cavity 46 and towards a select video cassette player 32; that is, the gripping arms 120 and 124 will push the video cassette C into the access opening 36 of the select video player 32 at which time command signals from control means 44 will energize servo motor 176 and rotate pulley 180 in a counterclockwise direction when viewing FIG. 3. Such counterclockwise rotation of pulley 180 will cause pulley 182, pulley 140 and crank arm 158 to rotate in the direction of arrow 150. Pulley 144 and crank arm 162 will be rotated in the direction of arrow 152. Such rotation of crank arm 158 in the direction of arrow 150 and of crank arm 162 in the direction of arrow 152 will cause track 112 to slide in the direction of arrow 282 from end 116 of guide member 100 to end 114 to the position shown in phantom lines in FIG. 3 and diagrammatically in FIG. 9A. At the end of the foregoing sequence of operation, command signals are sent to the select video cassette player 32 to energize the player so that the selected video cassette may be viewed by the customer, and the apparatus is ready for the next customer demand. A second customer may access the apparatus while the previous customer is viewing a video cassette program by repeating the foregoing procedure. In particular, another video cassette may be selected for playing upon another video cassette player while the previously selected video cassette is being played upon the previously identified video cassette player. It will be apparent that this process can be repeated until all of the video cassette players in the housing 2 are in use.

When it is desired to move a video cassette C from a select video cassette player to a select video cassette shelf, command signals from control means 44 energize servo motor 236 as described herein to cause any required vertical movement of cassette transport unit 38 to the select video cassette player 32. Command signals are then sent to energize servo motor 262 as described herein to cause the video cassette unit 38 to be moved towards the select video cassette player 32 and to energize servo motor 176 as described herein to rotate crank arms 158 and 162 to move the gripping arms 120 and 124 towards the select cassette player 32. In the preferred embodiment, when retrieving a video cassette C which has been ejected from a video cassette player 32, the ejected video cassette is gripped by gripping arms 120 and 124. With reference to FIG. 3, track 112 is depicted in solid lines at rear 104 of the cassette transport unit 38 as a result of the clockwise rotation of pulley 180 as described herein. Rear 104 faces the select video cassette player 32 and the ejected video cassette C, neither of which are depicted in FIG. 3. As noted herein, track 112 was caused to move from end 114 of guide member 100 towards end 116 by rotation of crank arms 158 and 162 in the direction of arrows 154 and 156, respectively. As track 112 is nearing end 116, continued rotation a crank arms 158 and 162 in the direction of arrows 154 and 156, respectively, will cause abutment members 166 and 168 to move in the direction of arrows 284 and 286, respectively. When track 112 is positioned near end 116, abutment members 166 and 168 abut fingers 188 and 190, respectively, and therefore such movement of the abutment members will cause fingers 188 and 190 of respective gripping arms 120 and 124 to move against the bias of spring 134 in the direction of arrows 284 and 286, respectively, such that the gripping arms 120 and 124 extend beyond the edges C¹, C² of video cassette C as track 112 is moved all the way to the end 116 of guide member 100 as depicted in FIG. 9C. In order for gripping arms 120 and 124 to grip the edges C¹, C² of video cassette C as depicted in FIG. 9D, command signals energize servo motor 176 to rotate pulley 180 in a counterclockwise direction as depicted in FIG. 3 thereby causing crank arms 158 and 162 to rotate in the direction of arrows 150 and 152, respectively, as described herein. During such rotation, abutment members 166 and 168 move in the direction of arrows 288 and 290, respectively, disengaging respective fingers 188 and 190 and allowing gripping arms 120 and 124 to grip sides C² and C¹, respectively, of video cassette C under the tension of spring 134 which urges gripping arms 120 and 124 towards each other. Further movement of crank arms 158 and 162 in the direction of arrows 150 and 152, respectively, causes track 112 to move from end 116 of guide member 100 towards end 114, pulling the video cassette C into the cassette carrying cavity 46. As depicted in FIGS. 3 and 4, camming surfaces 292 and 294 extend from respective gripping arms 120 and 124. Cassette transport unit 38 further includes corresponding cam followers 296 and 298 which extend into cavity 46. When the video cassette C has been pulled into cavity 46 such that the video cassette is positioned upon plate 54 for subsequent removal from the cavity 46 by plate 54, camming surfaces 292 and 294 engage cam followers 296 and 298, respectively, as depicted in FIG. 9E, thereby camming the gripping arms 120 and 124 out of engagement with edges C², C¹ of video cassette C. A guide bar 301 is provided to abut the cassette C at the position where the gripping arms 120 and 124 are being cammed out of engagement with the cassette C so that upon further movement of the track 112 towards end 114 the cassette is stripped from gripping arms 120 and 124. Continued movement of the track 112 towards end 114 of guide member 100 moves camming surfaces 292 and 294 out of engagement with cam followers 296 and 298 allowing gripping arms 120 and 124 to move towards each other under the bias of spring 134 to their unloaded position as depicted in FIG. 9A without undesirably urging the cassette out of the cassette carrying cavity back towards the cassette player as a result of the gripping arms being abruptly urged towards each other under the force of spring 134. In the preferred embodiment, cam followers 296 and 298 are posts which extend into the path of camming surfaces 292 and 294 as depicted in FIG. 4, only camming surface 294 and cam follower 298 being shown in the drawing.

When the video cassette C has been pulled into the video cassette cavity 46 command signals are then sent to energize servo motors 236 and 262 to move cassette transport unit 38 as required to the desired video cassette shelf 22 as described hereinbefore. Command signals are then sent to energize servo motor 56 to cause plate 54 upon which cassette C now rests to move in the direction of arrow 84 as described hereinbefore to deliver cassette C into the selected video cassette shelf 22. Cassette transport unit 38 is then caused to be moved in the direction of arrow 276 in response to command signals sent to motor 236, as described hereinbefore, to deposit the cassette upon shelf members 24, 26 and move flange 54' below edge C' of cassette C. Plate 56 is then moved back into the video cassette cavity 46 as described hereinbefore. The apparatus is then ready for the next customer demand.

It will be apparent that the automated video cassette library described herein may respond to other command signals generated by control means 44 to move a video cassette C from one video cassette shelf 22 to another video cassette shelf 22 and to move a video cassette C from one video cassette player to another video cassette player.

In the preferred embodiment, the plurality of cassette shelves will include one or more buffer shelf 22'. In particular, when the housing 2 is fully loaded, all of the cassette shelves 22 will contain a video cassette C with the exception of buffer shelf 22'. Buffer shelf 22' is useful when it is desired to remove a video cassette from the operative system. For example, it may be desirable to remove a defective video cartridge so that it is not retained in its usual video cassette shelf 22. To this end, such defective tape may be transferred to buffer shelf 22' until such time as it is removed from the apparatus. Buffer shelf 22' has another use as described hereinafter.

In the preferred embodiment, a removable cartridge 300 is provided. Cartridge 300 is in the form of a removable box-like housing which includes a plurality of shelves (not shown) similar to shelves 22 each of which is suitable for supporting a video cassette C. Cartridge 300 is supported by a shelf formed by opposing angle members (not shown) similar to angle members 24 and 26. Cartridge 300 is particularly useful when it is desired to replace a plurality of existing video cassettes with a plurality of video cassettes having new titles. For example, in the preferred embodiment, cartridge 300 contains ten shelves for housing ten new video cassettes which are to replace ten existing video cassettes supported by shelves 22. In operation, an empty cartridge 300 is inserted into housing 2 as depicted in FIG. 1. Control signals from control means 44 energize various servo motors as described herein to transfer ten video cassettes from cassette shelves 22 to the ten empty video cassette shelves within the cartridge 300. The operator then removes the cartridge 300 and replaces it with another cartridge 300 which contains up to ten different video cassettes. Control signals from control means 44 again energize various servo motors as described herein to transfer each replacement video cassette from the cartridge 300 to a cassette shelf 22 previously emptied. The use of cartridge 300 in this manner provides for easy replacement of one group of video cassettes with another group of video cassettes. Cartridge 300 may contain more or less than ten video cassettes shelves, as desired.

Alternatively, the buffer shelf 22' may be used in combination with a fully loaded cartridge 300. In particular, a cartridge 300 containing ten new video cassettes supported by ten corresponding shelves may be inserted into housing 2 as depicted in FIG. 1. Control means 44 energize various servo motors as described herein to sequentially move a first cassette from a first shelf 22 to the buffer shelf 22'; move a first new cassette from cartridge 300 to such first cassette shelf; move the first cassette from the buffer shelf 22' to the vacant cassette shelf in the cartridge 300; move a second cassette from a second shelf 22 to the buffer shelf 22'; etc. By continuing this process, all of the new cassettes in cartridge 300 are disposed as desired upon respective video cassette shelves 22, and the video cassettes to be replaced are ultimately disposed within the cartridge 300. It will be apparent that the process may be altered to some extent such that the first cassette to be transferred to the buffer shelf 22' may be a new cassette removed from cartridge 300. In other words, a first new cassette will be transferred from the cartridge 300 to buffer shelf 22'; a first cassette to be replaced will then be moved to the vacant cassette shelf in cartridge 300; the first new cassette will then be transferred from buffer shelf 22' to the vacant cassette shelf 22, etc.

In the preferred embodiment, all of the components described herein are modular in nature in that each can be readily replaced as a unit in a short period of time and using normal hand tools. To this end, all electrical and control wiring may be terminated in modular connectors, not shown, and access may be provided from the front and the rear of the housing 2. The modular aspects of the apparatus will be enhanced by providing onboard cabinet controllers as described herein which are responsible for motor control and video cassette player command functions.

In the preferred embodiment, each control means 44 of each cabinet 2 comprises a cabinet controller means, a motion controller means, and a video player controller means. In particular, FIG. 10 depicts a cabinet controller means 302 which is electrically connected to and controls a motion controller means 304 by means of an RS232 computer cable 306, such connection being serial port to serial port. Cabinet controller means 302 is also connected to and controls a digital video cassette player controller means 310 by means of a modified parallel printer cable 308. Cabinet controller means 302 is connected by means of a keyboard connector and suitable cable 312 to a bar code reader 314 through a bar code decoder 316.

Cabinet controller means 302 sends and receives signals relative to the motion controller means 304 and video player controller means 310, and receives signals from bar code decoder 316, as described herein. The details of cabinet controller means 302 will be apparent to those skilled in the art. In the preferred embodiment, cabinet controller means 302 is a motherboard of an 80286 compatible computer, incorporating a single 3.5 inch, 1.44 mb floppy disk drive, embodying a program disk, a communications card, and video card suitable for text output, and operating under an MS-DOS V 5.0 or later operating system. Cabinet controller means 302 includes two serial ports and one parallel port.

The details of motion controller means 304 will also be apparent to those skilled in the art. In the preferred embodiment, motion controller means 304 controls actuation of the bi-directional servo motors 92, 176, 236 and 262 described herein in response to receipt of command signals from cabinet controller means 302.

The details of the video player controller means 310 will also be apparent to those skilled in the art. In the preferred embodiment video player controller means 310 is a microprocessor with 16 outputs, each connected to an infrared LED mounted in front of a corresponding cassette player control sensor as described herein. The video player controller means 310 will be programmed such that commands to each cassette player will be pulsed on each respective LED in the same code as used by a remote control in response to command signals from a respective cabinet controller means 302. The commands of the video player controller means 310 will include PLAY, STOP, REWIND, PAUSE, EJECT, OFF and ON. The video player controller means 310 will communicate with the parallel port of its respective cabinet controller means 302.

Other components connected to control means 44 depicted in FIG. 10 include sixteen infrared light emitting diodes (LED's) 318, the four bi-directional electro servo gear motors 92, 176, 236 and 262, the four corresponding digital quadrate count encoders each connected to a respective gear motor as described herein, four optical sensors L1, L2, L3 and L4, each associated with a respective servo motor, and positioned as described herein, to direct when each respective servo driven device is in its "home position", and two optical "cassette present" sensors L5 and L6.

Control means 44 also includes a video signal detector means 320 which is electrically connected to each cassette player 32 by a respective conductor 322 and to the video player controller means 310 by a respective conductor 324 for sensing the presence of video signals at each cassette player 32 and outputting any sensed video signal(s) to one or more select channels 326 (one is shown) each connected to a television set in the usual manner. Video signal detector means 320 is enclosed in a separate envelope having suitable RF frequency shielding properties.

All of the components contained within the control means 44 and components electrically connected thereto are powered by one or more power supplies contained within control means 44 and generally designated 328 which preferably drive their power from 120 V AC line 330 and which collectively supply DC power at +24, +12, -12 and +5 volts, connected to each component as appropriate. Cassette players 32 are powered from a 120 V AC line in a known manner.

All of the components described herein are interconnected in a known manner by cables in combination with connection devices which will ensure reliable transmission of electrical current and signals.

The components electrically connected to the control means 44 are connected thereto by means of electrical connectors (not shown) which are mounted on the external surface of the control means 44, such electrical connectors facilitating replacement of the control means 44 and the various components attached thereto without undue inconvenience.

The bar code reader 314 and decoder 316 provide an example of means electrically connected to the cabinet controller means 302 by conductor 312 for reading and decoding bar code label information 332 attached to each cassette C which enters or exits the cassette carrying cavity 46 and transmitting such information to the cabinet controller means 302. Bar code reader 314 is attached to the cassette transport unit 38 as depicted in FIG. 5. In this manner, the bar code can be read while the tape is being pulled out from a shelf 22 as described herein. If a bar code is not read within the extraction cycle or if an erroneous bar code is detected, the cassette will be re-inserted into the shelf 22 and pulled out again. Three failures will result in a fault and the host computer means 340 will command that another copy of the same title be selected if available. In this manner, it is possible to keep track and control of which cassette goes to which cassette player. In addition, by providing each cassette with a unique bar code identification 332, it is possible to keep track of each cassette for its entire life cycle.

In the preferred embodiment, a sensor means is disposed relative to the cassette carrying cavity 46 for sensing the presence and absence of a cassette relative to the cassette carrying cavity. For example, FIG. 10 depicts two optical sensors L5 and L6 each of which is electrically connected to the motion controller means 304 through an input/output isolation board 334 of control means 44 by suitable conductors. Optical sensors L5 and L6 operate in the usual manner to send signals to the motion controller means 304 when a beam of either sensor is broken by the presence of a cassette. Such signals will be representative of the presence of cassette C relative to cassette carrying cavity 46. When the beam is not broken such signals will be representative of the absence of cassette C relative to cavity 46. Optical sensors L5 and L6 may be mounted to the cassette transport unit 38 as depicted in FIG. 5.

In the preferred embodiment, each cassette player 32 is a typical prior art cassette player having internal control circuitry which is electrically connected to an external infrared receiver which is attached to the face of the cassette player and interacts with an infrared transmitter in the usual manner to control the cassette player. In the embodiment of FIG. 10, each cassette player 32 includes internal control circuitry (not shown) electrically connected to an external infrared receiver 318'. A plurality of respective infrared transmitters 318' is disposed within housing 2, each being positioned in operative proximity to a respective infrared receiver 318' and electrically connected to the video player controller means 310 by a respective conductor 336. Video player controller means 310 comprises means for selectively activating each infrared transmitter to operate the internal control circuitry by means of a corresponding infrared receiver to control the cassette player as described herein when the video player controller means 310 receives appropriate command signals from cabinet controller means 302. A pulsed code will emulate the appropriate remote control code for all remote control functions.

In the preferred embodiment, means is provided for effecting a homing function prior to operation of the automated cassette library apparatus described herein. To this end, means is provided for sequentially homing the servo motors 176, 262, 92 and 236 in response to homing commands received from the motion controller means 304 upon receipt of initiation commands from cabinet controller means 302. In order to home each servo motor as described herein, a respective home limit switch flag SF is provided for use in combination with a respective optical sensor L as diagrammatically depicted in FIGS. 11A and 11B. FIG. 11A depicts the switch flag interrupting the beam of the optical sensor L and FIG. 11B depicts the switch flag as having been moved out of the beam of the optical sensor L.

In order to home servo motor 176 as described herein, a home limit switch flag SF4 is attached to track 112 and an optical sensor L4 is attached to the cassette transport unit 38 as depicted in FIG. 3, optical sensor L4 being electrically connected to the motion controller means 304 as depicted in FIG. 10.

In order to home servo motor 92 as described herein, a home limit switch flag SF3 is attached to plate 54 and an optical sensor L3 is attached to the cassette transport unit 38 as depicted in FIG. 2, optical sensor L3 being electrically connected to the motion controller means 304 as depicted in FIG. 10.

In order to home servo motor 262 as described herein, a home limit switch flag SF2 is attached to cassette transport unit 38 and an optical sensor L2 is attached to the carriage 196 as depicted in FIG. 5, optical sensor L2 being electrically connected to the motion controller means 304 as depicted in FIG. 10.

In order to home servo motor 236 as described herein, a home limit switch flag SF1 is attached to carriage 196 and an optical sensor L1 is attached to the top of the mast 40 as depicted in FIGS. 6 and 7, optical sensor L1 being electrically connected to the motion controller means 304 as depicted in FIG. 10.

As depicted in FIG. 10, the cabinet controller means 302 is connected to host computer means 340 by means of a Serial RS232 computer cable 342. Host or central computer means 340 is programmed to perform a variety of functions as previously described herein. For example, the host computer means issues commands to cabinet controller means 302 to control the motion controller 304 to transport a particular cassette C as required. Signals between the host computer means 340 and the cabinet controller means 302 are effected by an appropriate serial string of ASCII commands by means of a standard commercially available communications program through the serial ports of the host computer means and cabinet controller means as will be apparent to any person skilled in the art. Upon receipt of commands from the host computer means 340, the cabinet controller means 302 also controls the video player controller means 310 through a parallel printer port. Upon receipt of commands from the cabinet controller means 302, the video player controller means 310 responds by controlling the functions of each video cassette player 32 and monitors the presence of a video signal output from each player as described herein.

The cabinet controller means 302 is under the command of a software system which is programmed suitably to receive commands from the host computer 340 and to respond as previouly described herein.

In preparing each cabinet 2 for initial use, an initialization mode is provided. In the system initialization mode, the motion controller means receives initialization commands from the cabinet controller means. In response, the motion controller means initializes the automated video library by sequentially "homing" all of the servo motors. In particular, and with reference to FIGS. 3 and 10, servo motor 176 is homed by supplying low voltage power to the servo motor thereby causing momentary clockwise or "off-home" motion, followed immediately by low voltage power causing counterclockwise rotation at a slow speed rate to retract the slidetable track 112, which includes the cassette gripper mechanism described herein, until the "home limit" switch flag SF4 interrupts the beam of the optical sensor L4. This causes the motion controller means to stop the motion of servo motor 176 in a controlled manner which will be apparent to those skilled in the art, while simultaneously establishing a zero position from which any future commands will be referenced as described hereinafter. Servo motors 262, 92 and 236 are then sequentially "homed" in a like manner. In particular, servo motor 262 is "homed" to optical sensor L2 by means of "home limit" switch flag SF2, servo motor 92 is "homed" to optical switch L3 by means of "home limit" switch flag SF3 and servo motor 236 is "homed" to optical switch LI by means of "home limit" switch flag SF1. Upon completion of the "homing" function, the cassette transport unit 38 will have been conveyed to a "safe" location at the top of the housing such that any power failure will not result in mechanical damage, with all mechanisms set to receive an operating command.

With reference to FIG. 10, after system initialization, the positions of each servo motor, and thereby the mechanism which each activates as described above, is monitored by the respective optical encoder of a respective servo motor through cables A1 through A4, and will be electronically controlled by electrical power through cables B1 through B4, in a manner well known in the art. As noted above, servo motor 176 controls the loading and unloading of cassette tapes relative to cassette players 32, servo motor 92 controls storing and unstoring of cassette tapes relative to shelves 22, servo motor 262 controls the horizontal positioning of the cassette transport unit 38 with respect to shelves 22 and/or cassette players 32, and servo motor 236 controls the vertical position of cassette transport unit 38 relative to mast 40.

In the preferred embodiment, each shelf 22 is assigned a position number from 1 in the upper right to 100 in the lower left, when viewing FIG. 1. Similarly, the cassette players are assigned position numbers 101 through 116 sequentially from top to bottom. The control program permits the encoder's count of each such vertical and horizontal position to be stored by the motion controller means 304 by a "teaching method" prescribed by the motion controller manufacturer. Similarly, the extended and retracted positions of plate 54 are taught to the motion controller means 304 as positions P3 and P1, respectively (FIGS. 8A and 8B), and the positions of slidable track 112 are taught to the motion controller 304 as positions P4 through P7 (FIGS. 9A-9D).

Referring to FIGS. 1 and 10, upon receipt of a customer demand to view a particular video cassette, the host computer means 340 translates such demand into an ASCII command which, in its essence, instructs the cabinet controller means 302 to "play tape #XXXX located at position #yyy", XXX being a cassette number having a specific bar code 332 and YYY being a shelf position number between 001 and 100. Cabinet controller means 302, by means of its program determines the location of the desired cassette and an available cassette player 32 and issues a command via an ASCII command to the motion controller means 304 which in its essence instructs the motion controller means 304 to sequentially cause servo motors 236 and 262 to move the cassette transport unit 38 from its current known position by incrementing each such servo motor an appropriate number of encoder counts to advance the cassette transport unit to that specific horizontal and vertical position, respectively, at which the required cassette tape C is located.

Upon reaching the appropriate position, the cassette transport unit is caused to stop and the motion controller means 304 then commands servo motor 92 to rotate a specific number of encounter counts in the appropriate direction so as to cause plate 54 to move from position P1 (FIG. 8A) to position P3 (FIG. 8B). The motion controller means, having determined that the required position P3 has been obtained, causes servo motor 236 to rotate incrementally to raise the cassette transport unit 38 to engage cassette and then to similarly rotate servo motor 92 to cause plate 54 to obtain position P1, thereby loading the cassette into the cassette transport unit 38.

The motion of the cassette C causes a bar code label 332 attached to the cassette to pass before bar code reader 314, permitting the bar code label to be "read" and decoded in a commonly known manner, which information is transmitted to the cabinet controller means 302. Provision is made for retrying the previous sequence of moves from position P1 to P3 to P1 in case of a "failed" bar code sequence.

When a cassette has been successfully retrieved, its presence is detected by optical sensors L5 and L6. In case either sensor is not activated, a failed retrieve command is assumed and another attempt is made. After several failed attempts the cabinet controller means 302 assumes the cassette not to be in its assigned position and orders the motion controller to retrieve another cassette, if available, from another shelf position. When a successful retrieve is completed, the motion controller means 304 causes the servo motors to move the cassette transport unit 38 vertically and, if necessary, horizontally, respectively, to an available video player position (being a position between 101 and 116), in a like manner to that previously described. Having obtained the appropriate cassette player position, servo motor 92 is caused to rotate, causing the slidable track 112 to move from position P4 (FIG. 9A) to P5 (FIG. 9B) thereby pushing the cassette into the cassette player slot 36. The successful load cycle is confirmed when slidable track 112 is retracted to position P4 by the controlled rotation of servo motor 176, and sensors L5 and L6 detect the absence of a cassette C. Various means of recovering from incompleted loads, retrievals, etc. are provided within the control program which will be obvious to those skilled in the art.

When the select cassette C has been loaded within the select cassette player, play of the tape commences. In particular, a "play" command is directed to the cabinet controller means 302 by host computer means 340 and is converted to a parallel port instruction. With respect to FIG. 12, parallel port driver 342 passes the instruction to cross point matrix switch 344 of video player controller means 310 which selects the command. Cross point matrix switch 344 causes current to flow to a select pin of an infrared controller 346 which senses the select pin and generates an encoded signal which can be decoded as "play" by the select cassette player 32. In particular, infrared controller 346 includes an oscillator which generates an encoded signal at a suitable high frequency which is directed to a respective pin on decoders 348 and 350. Simultaneously, the parallel port instruction is sensed by a selector encoder 352 which selects the cassette player and outputs a binary combination which is sensed by selector decoders 348 or 350 which directs the command to the cassette player selected. The binary combination is decoded and permits the high frequency signal to be transmitted to a particular pair of pins on a connector 354 which corresponds to the select cassette player 32. Decoders 348 and 350 each include eight cables to eight of the sixteen cassette players 32. By providing a suitable infrared LED 318 connected to the appropriate pin of connector 354, such LED 318 will intermittently light and dim in synchronism with the control signal. Each LED 318 is placed contiguously with a typical infrared control sensor 318' of each cassette player. In this manner, the select cassette player 32 will be caused to play in response to the decoded "play" signals. It will be apparent to those skilled in the art that in this manner each cassette player may be caused to execute any command which it senses and is programmed to decode. By providing each cassette player with an LED 318 connected by cable to a suitable pin of connector 354 and suitably shielded or shaded from all of the other cassette players, a suitable set of commands can be routinely devised which will individually control each player. For example, a set of commands will direct each cassette player to stop the play temporarily or permanently, to recommence play, to rewind, or to eject the cassette from the cassette player, or if a video recorder is used to control its recording functions. In each case, a suitable command is transmitted from a suitably programmed host computer 340 and processed in a manner similar to that described with respect to "play" command to direct the cassette player in any manner desired. It will be apparent to those skilled in the art that the use of the infrared transmitter 318 makes it possible to use a standard infrared remote control-type cassette player without any change to such cassette player. In other words, no hard line or other circuitry changes will be required. Such a system will therefore be more convenient and more reliable than might otherwise be the case if it were necessary to make hard line connections to the cassette player.

With reference to FIG. 10, when the play of the cassette tape commences a video signal is output from the selected vide cassette player 32 and transmitted by means of cable 322 to a port 356 of the sixteen ports mounted upon a video sensor bracket of the sixteen channel video signal detector 320. The presence of a video signal at port 356 can be detected by a typical video sensor circuit disposed at signal detector 320, which is connected to a power source in a known manner, and to the video player controller 310 by a respective cable 324. As depicted in FIG. 11, one of the decoders 358, 360 receives and identifies the source of the video signal and the decoder 364 filters and structures the identity of the source in a known manner. The parallel port driver 342 then passes the resulting communication. The presence of a video signal is converted to digital data by the video player controller 310 in a manner known in the art and then transferred to the cabinet controller 302. When the presence of the video signal is detected by the cabinet controller, an ASCII code message is transmitted to the host computer 320 that the demanded video cassette C is being played on a particular video channel 326, permitting the customer to view the selected cassette C.

It will be apparent to those skilled in the art that the cabinet controller means 302 may be programmed to cause the motion controller means 304 to actuate servo motors 92, 176, 236 and 262 as described above such that each servo motor output shaft is rotated clockwise or counterclockwise, as desired, to transfer any desired cassette C from one select location to another select location whether such cassette is being transferred to or from a shelf 22, 22', cassette player 32 or shelf of a cartridge 300. To this end, servo motors 92, 176, 236 and 262 may be actuated as described above to move the cassette transport unit in the direction of axes 98 and 194, the plate 54 in the direction of axis 52 and the track 112 in the direction of axis 98.

The embodiments which have been described herein are but some of several which utilize this invention and are set forth here by way of illustration but not of limitation. It is apparent that many other embodiments which will be readily apparent to those skilled in the art may be made without departing materially from the spirit and scope of this invention. 

What is claimed is:
 1. A system for controlling an automated cassette library comprising:at least one housing, each housing comprising:a) a plurality of cassette shelves disposed horizontally within said housing; b) a plurality of cassette players disposed horizontally within said housing; c) a cassette transport unit disposed horizontally within said housing, said cassette transport unit having a cassette carrying cavity therein and including a plate having a longitudinal axis which extends in the direction of said first axis, said plate being movably mounted to said cassette transport unit and disposed in said cassette carrying cavity, first means disposed in said cassette carrying cavity for selectively transferring a cassette in the direction of a first axis from a cassette shelf into said cassette carrying cavity in a first mode and from said cassette carrying cavity into a cassette shelf in a second mode, and second means disposed in said cassette carrying cavity for selectively transferring a cassette in a third mode in the direction of a second axis which is perpendicular to said first axis from said cassette carrying cavity and into a cassette player and in such a manner that no portion of said second means will be positioned within said cassette player during operation of said cassette player, and from a cassette player into said cassette carrying cavity in a fourth mode; d) third means disposed in said housing (a) for selectively transporting said cassette transport unit in the direction of a third axis, which is perpendicular to said first axis and said second axis, and relative to said plurality of cassette shelves and said plurality of cassette players when said plate is disposed within said cassette carrying cavity; (b) for selectively transporting said cassette transport unit in the direction of said third axis, at the beginning of said first mode when said plate is disposed within said cassette shelf, to move said plate towards and into engagement with a cassette when selectively transferring a cassette from a cassette shelf to said cassette carrying cavity, and (c) for selectively transporting said cassette transport unit in the direction of said third axis, at the end of said second mode when said plate is disposed within said cassette shelf, to move said plate away from and out of engagement with said cassette when selectively transferring a cassette from said cassette carrying cavity to a cassette shelf, e) motion controller means electrically connected to said first means, said second means and said third means for controlling actuation of said first means, said second means and said third means in response to first command signals; f) cabinet controller means electrically connected to said motion controller means for sending and receiving signals, including the sending of said first command signals to said motion controller means; and g) video player controller means electrically connected to said cabinet controller means for controlling each cassette player of said plurality of cassette players in response to second command signals received from said cabinet controller means;and host computer means which communicates with each cabinet controller means of which housing for controlling each cabinet controller means.
 2. A system for controlling an automated cassette library apparatus of claim 1, each housing further comprising video signal detector means electrically connected to each cassette player of said plurality of cassette players and to said video player controller means for sensing the presence of video signals at each cassette player and out putting any of said video signals to one or more select channels.
 3. A system for controlling an automated cassette library apparatus of claim 2, each housing further comprising means electrically connected to said cabinet controller means for reading and decoding bar code label information attached to each cassette entering and exiting said cassette carrying cavity during said first mode and said second mode and transmitting said information to said cabinet controller means.
 4. A system for controlling an automated cassette library apparatus of claim 3 wherein said reading and decoding means comprises a bar code reader attached to said cassette transport unit relative to said cassette carrying cavity and electrically connected to a bar code decoder, said bar code decoder being electrically connected to said cabinet controller means.
 5. A system for controlling an automated cassette library apparatus of claim 4, each housing further comprising sensor means disposed relative to said cassette carrying cavity for sensing the presence and absence of a cassette relative to said cassette carrying cavity.
 6. A system for controlling an automated cassette library apparatus of claim 5 wherein said sensor means comprises a first optical sensor and a second optical sensor each of which is electrically connected to said motion controller means and sends signals representative of said presence and absence to said motion controller means.
 7. A system for controlling an automated cassette library apparatus of claim 6 wherein each cassette player of said plurality of cassette players comprises control circuitry which comprises an infrared receiver, and wherein each housing further comprises a plurality of infrared transmitters each disposed within said housing in operative proximity to a respective infrared receiver and electrically connected to said video player controller means, and wherein said video player controller means comprises means for selectively actuating said infrared transmitters to selectively operate said control circuitry to selectively control said cassette players in response to receipt of said second command signals.
 8. A system for controlling an automated cassette library apparatus for claim 7, wherein each housing further includes means for initializing said first means, said second means and said third means in response to initializing command signals received from said motion, controller means, said motion controller means sending said initializing command signals to said first means, said second means and said third means upon receipt of initialization command signals from said cabinet controller computer means.
 9. A system for controlling an automated cassette library apparatus of claim 1 wherein each cassette player of said plurality of cassette players comprises control circuitry which comprises an infrared receiver, and wherein each housing further comprises a plurality of infrared transmitters each disposed within said housing in operative proximity to a respective infrared receiver and electrically connected to said video player controller means, and wherein said video player controller means comprises means for selectively actuating said infrared transmitters to selectively operate said control circuitry to selectively control said cassette players in response to receipt of said second command signals.
 10. A system for controlling an automated cassette library apparatus of claim 1 further wherein each housing further comprises fourth means disposed in said housing for selectively transporting said cassette transport unit in the direction of said second axis, said motion controller means further being electrically connected to said fourth means for controlling actuation of said fourth means in response to said first command signals.
 11. A system for controlling an automated cassette library apparatus of claim 10, each housing further comprising video signal detector means electrically connected to each cassette player of said plurality of cassette players and to said video player controller means for sensing the presence of video signals at each cassette player and out putting any of said video signals to one or more select channels.
 12. A system for controlling an automated cassette library apparatus of claim 11, each housing further comprising means electrically connected to said cabinet controller means for reading and decoding bar code label information attached to each cassette entering and exiting said cassette carrying cavity during said first mode and said second mode and transmitting said information to said cabinet controller means.
 13. A system for controlling an automated cassette library apparatus of claim 12 wherein said reading and decoding means comprises a bar code reader attached to said cassette transport unit relative to said cassette carrying cavity and electrically connected to a bar code decoder, said bar code decoder being electrically connected to said cabinet controller means.
 14. A system for controlling an automated cassette library apparatus of claim 13, each housing further comprising sensor means disposed relative to said cassette carrying cavity for sensing the presence and absence of a cassette relative to said cassette carrying cavity.
 15. A system for controlling an automated cassette library apparatus of claim 14 wherein said sensor means comprises a first optical sensor and a second optical sensor each of which is electrically connected to said motion controller means and sends signals representative of said presence and absence to said motion controller means.
 16. A system for controlling an automated cassette library apparatus of claim 15 wherein each cassette player of said plurality of cassette players comprises control circuitry which comprises an infrared receiver, and wherein each housing further comprises a plurality of infrared transmitters each disposed within said housing in operative proximity to a respective infrared receiver and electrically connected to said video player controller means and wherein said video player controller means comprises means for selectively actuating said infrared transmitter to selectively operate said control circuitry to selectively control said cassette players in response to receipt of said second command signals.
 17. A system for controlling an automated cassette library apparatus of claim 16, wherein each housing further includes means for initializer said first means, said second means, said third means and said fourth means in response to itializing command signals received from said motion controller means, said motion controller means sending said initializer command signals to said first means, said second means, said third means and said fourth means upon receipt of initialization command signals from said cabinet controller computer means.
 18. A system for controlling an automated cassette library apparatus of claim 1 wherein each first means comprises:a plate having a longitudinal axis which extends in the direction of said first axis, said plate being movably mounted to said cassette transport unit and disposed in said cassette carrying cavity; a first bi-directional servo motor mounted upon said cassette transport unit; a first pulley rotatably mounted to said cassette transport unit and a second pulley operatively coupled to said first bi-directional servo motor, said first pulley and said second pulley being spaced from each other along a line which extends in the direction of said first axis; a first endless belt operatively coupled between said first pulley and said second pulley and attached to said plate; and further wherein said initializing means comprises a first initializing limit switch flag attached to said plate and a first optical sensor attached to said cassette transport unit, said first optical sensor being electrically connected to said motion controller means.
 19. A system for controlling an automated cassette library apparatus of claim 18 wherein each second means comprises:a guide member which extends in the direction of said second axis and which is disposed in said cassette carrying cavity and attached to said cassette transport unit; a slidable track which is disposed within said cassette carrying cavity and extends in the direction of said first axis and includes means which mates with said guide member for controlling direction of sliding movement of said slidable track from end of said guide member to an opposite end of said guide member; means movably mounted to said slidable track for abutting said cassette in said third mode and for gripping said cassette in said fourth mode; means mounted to said cassette transport unit and to said slidable track for sliding said slidable track relative to said guide member in said third mode and said fourth mode and for actuating said abutting and gripping means in said fourth mode; and wherein said initializing means further comprises a second initializing limit switch flag attached to said slidable track and a second optical sensor attached to said cassette transport unit, said second optical sensor being electrically connected to said motion controller means.
 20. A system for controlling an automated cassette library apparatus of claim 19 wherein each housing comprises a mast disposed in said housing, said mast extending in the direction of said third axis, and wherein each housing further includes means movably mounted upon said mast and attached to said cassette transport unit for transporting said cassette transport unit relative to said plurality of cassette shelves and said plurality of cassette players in the direction of said third axis,said cassette transport unit being mounted to said transporting means, for movement relative to said transporting means in the direction of said second axis towards or away from a select cassette player; and wherein said initializing means further comprises a third initializing limit switch flag attached to said transporting means and a third optical sensor attached to said mast, said third optical sensor being electrically connected to said motion controller means.
 21. A system for controlling an automated cassette library apparatus of claim 20 wherein said initializing means further comprises a fourth initializing limit switch flag attached to said transporting means and a fourth optical sensor attached to said cassette transport unit, said fourth optical sensor being electrically connected to said motion controller means.
 22. A method of operating an automated cassette library system comprising the steps of:(a) storing cassettes in at least one columnar array of shelves; (b) retrieving a select cassette, said retrieving including transferring said select cassette along a first axis to move said select cassette out of contact with a select shelf of said columnar array of shelves, and then transferring said select cassette along a second axis which is perpendicular to said first axis to transfer said select cassette into a cassette transport unit; (c) transporting said cassette transport unit in the direction of said first axis to a select cassette player of a columnar array of cassette players; (d) delivering along a third axis, which is perpendicular to said first axis and said second axis, said select cassette from said cassette transport unit to said select cassette player; and (e) controlling said select cassette player,
 23. A method of operating an automated cassette library system of claim 22 wherein said retrieving step further includes the step of identifying said select cassette while said select cassette is being retrieved into said cassette transport unit.
 24. A method of operating an automated cassette library system of claim 23 wherein said retrieving step further includes the step of sensing the presence of said select cassette in said cassette transport unit.
 25. A method of operating an automated cassette library system of claim 24 further including the step of outputting to a select channel signals of said select player.
 26. A method of operating an automated cassette library system of claim 25 wherein said outputting step further includes the step of sensing the presence of a signal at said select cassette player.
 27. A method of operating an automated cassette library system of claim 26 wherein said controlling step includes the step of activating a select infrared transmitter disposed proximate an infrared receiver of said select cassette player.
 28. A method of operating an automated cassette library system of claim 27 wherein said transporting step further includes the step of moving said cassette transport unit along said third axis.
 29. A method of operating an automated cassette library system of claim 28 wherein said retrieving step is preceded by the step of initializing servo motors which control said retrieving, transporting, delivering and moving steps.
 30. A method of operating an automated cassette library system of claim 29 further including the step of controlling said transporting, delivering and activating steps from an on-site cabinet controller.
 31. A method of operating an automated cassette library systems of claim 30 further including the step of remotely controlling said on-site cabinet controller.
 32. A method of operating an automated cassette library system of claim 22 further including the step of controlling said transporting, delivering and activating steps from an on-site cabinet controller.
 33. A method of operating an automated cassette library systems of claim 32 further including the step of remotely controlling said on-site cabinet controller.
 34. A system for controlling an automated cassette library comprising:at least one housing, each housing comprising:a) a plurality of cassette shelves disposed horizontally within said housing; b) a plurality of cassette players disposed horizontally within said housing, each cassette player of said plurality of cassette players comprising control circuitry which comprises an infrared receiver, c) a cassette transport unit disposed horizontally within said housing, said cassette transport unit having a cassette carrying cavity therein and including first means disposed in said cassette carrying cavity for selectively transferring a cassette in the direction of a first axis from a cassette shelf into said cassette carrying cavity in a first mode and from said cassette carrying cavity to a cassette shelf in a second mode, and second means disposed in said cassette carrying cavity for selectively transferring a cassette in the direction of a second axis which is perpendicular to said first axis from said cassette carrying cavity to a cassette player in a third mode and from a cassette player into said cassette carrying cavity in a fourth mode, said first means comprising a plate having a longitudinal axis which extends in the direction of said first axis, said plate being movably mounted to said cassette transport unit and disposed in said cassette carrying cavity; a first bi-directional servo motor mounted upon said cassette transport unit; a first pulley rotatably mounted to said cassette transport unit and a second pulley operatively coupled to said first bi-directional servo motor, said first pulley and said second pulley being spaced from each other along a line which extends in the direction of said first axis; a first endless belt operatively coupled between said first pulley and said second pulley and attached to said plate; and further wherein said initializing means comprises a first initializing limit switch flag attached to said plate and a first optical sensor attached to said cassette transport unit, said first optical sensor being electrically connected to said motion controller means; d) third means disposed in said housing for selectively transporting said cassette transport unit in the direction of a third axis which is perpendicular to said first axis and said second axis, e) motion controller means electrically connected to said first means, said second means and said third means for controlling actuation of said first means, said second means and said third means in response to first command signals; f) cabinet controller means electrically connected to said motion controller means for sending and receiving signals, including the sending of said first command signals to said motion controller means; g) video player controller means electrically connected to said cabinet controller means for controlling each cassette player of said plurality of cassette players in response to second command signals received from said cabinet controller means; h) fourth means disposed in said housing for selectively transporting said cassette transport unit in the direction of said second axis, said motion controller means further being electrically connected to said fourth means for controlling actuation of said fourth means in response to said first command signals; i) video signal detector means electrically connected to each cassette player of said plurality of cassette players and to said video player controller means for sensing the presence of video signals at each cassette player and outputting any of said video signals to one or more select channels; j) means electrically connected to said cabinet controller means for reading and decoding bar code label information attached to each cassette entering and exiting said cassette carrying cavity during said first mode and said second mode and transmitting said information to said cabinet controller means, said reading and decoding means comprising a bar code reader attached to said cassette transport unit relative to said cassette carrying cavity and electrically connected to a bar code decoder, said bar code decoder being electrically connected to said cabinet controller means; k) sensor means disposed relative to said cassette carrying cavity for sensing the presence and absence of a cassette relative to said cassette carrying cavity, said sensor means comprising a first optical sensor and a second optical sensor each of which is electrically connected to said motion controller means and sends signals representative of said presence and absence to said motion controller means; l) a plurality of infrared transmitters each disposed within said housing in operative proximity to a respective infrared receiver and electrically connected to said video player controller means, said video player controller means comprising means for selectively actuating said infrared transmitter to selectively operate said control circuitry to selectively control said cassette players in response to receipt of said second command signals; and m) means for initializing said first means, said second means, said third means and said fourth means in response to initializing command signals received from said motion controller means, said motion controller means sending said initializing command signals to said first means, said second means, said third means and said fourth means upon receipt of initialization command signals from said cabinet controller computer meansand host computer means which communicates with each cabinet controller means of each housing for controlling each cabinet controller means.
 35. A system for controlling an automated cassette library apparatus of claim 34 wherein each second means comprises:a guide member which extends in the direction of said second axis and which is disposed in said cassette carrying cavity and attached to said cassette transport unit; a slidable track which is disposed within said cassette carrying cavity and extends in the direction of said first axis and includes means which mates with said guide member for controlling direction of sliding movement of said slidable track from one end of said guide member to an opposite end of said guide member; means movably mounted to said slidable track for abutting said cassette in said third mode and for gripping said cassette in said fourth mode; means mounted to said cassette transport unit and to said slidable track for sliding said slidable track relative to said guide member in said third mode and said fourth mode and for actuating said abutting and gripping means in said fourth mode; and wherein said initializing means further comprises a second initializing limit switch flag attached to said slidable track and a second optical sensor attached to said cassette transport unit, said second optical sensor being electrically connected to said motion controller means.
 36. A system for controlling an automated cassette library apparatus of claim 35 wherein each housing comprises a mast disposed in said housing, said mast extending in the direction of said third axis, and wherein each housing further includes means movably mounted upon said mast and attached to said cassette transport unit for transporting said cassette transport unit relative to said plurality of cassette shelves and said plurality of cassette players in the direction of said third axis,said cassette transport unit being mounted to said transporting means, for movement relative to said transporting means in the direction of said second axis towards or away from a select cassette player; and wherein said initializing means further comprises a third initializing limit switch flag attached to said transporting means and a third optical sensor attached to said mast, said third optical sensor being electrically connected to said motion controller means.
 37. A system for controlling an automated cassette library apparatus of claim 36 wherein said homing means further comprises a fourth initializing limit switch flag attached to said transporting means and a fourth optical sensor attached to said cassette transport unit, said fourth optical sensor being electrically connected to said motion controller means. 